/**
 * FileName:   ss.java
 * @Description TODO
 * All rights Reserved, Code by Muskteer
 * Copyright MuskteerAthos@gmail.com
 * @author MuskteerAthos
 */
package com.muskteer.java.designpatterns.action.responsibility;

public abstract class AbstractLogger {
    public static int INFO = 1;
    public static int DEBUG = 2;
    public static int ERROR = 3;

    protected int level;

    //责任链中的下一个元素
    protected AbstractLogger nextLogger;

    public void setNextLogger(AbstractLogger nextLogger){
       this.nextLogger = nextLogger;
    }

    public void logMessage(int level, String message){
       if(this.level <= level){
          write(message);
       }
       if(nextLogger !=null){
          nextLogger.logMessage(level, message);
       }
    }

    abstract protected void write(String message);
     
 }